package com.ruoyi.library.service;

import java.util.List;

import com.ruoyi.library.domain.NexusToolLibrary;
import com.ruoyi.library.domain.dto.NexusToolLibraryDTO;
import com.ruoyi.library.domain.vo.NexusToolLibraryVo;

/**
 * 资源库Service接口
 *
 * @author Afanda
 * @date 2025-04-29
 */
public interface INexusToolLibraryService {
    /**
     * 查询资源库
     *
     * @param id 资源库主键
     * @return 资源库
     */
    public NexusToolLibrary selectNexusToolLibraryById(Long id);

    /**
     * 查询资源库列表
     *
     * @param nexusToolLibrary 资源库
     * @return 资源库集合
     */
    public List<NexusToolLibrary> selectNexusToolLibraryList(NexusToolLibrary nexusToolLibrary);

    public List<NexusToolLibraryVo> selectNexusToolLibraryVoList(NexusToolLibrary nexusToolLibrary);

    /**
     * 新增资源库
     *
     * @param nexusToolLibrary 资源库
     * @return 结果
     */
    public int insertNexusToolLibrary(NexusToolLibrary nexusToolLibrary);

    /**
     * 修改资源库
     *
     * @param nexusToolLibrary 资源库
     * @return 结果
     */
    public int updateNexusToolLibrary(NexusToolLibrary nexusToolLibrary);

    /**
     * 批量删除资源库
     *
     * @param ids 需要删除的资源库主键集合
     * @return 结果
     */
    public int deleteNexusToolLibraryByIds(Long[] ids);

    /**
     * 删除资源库信息
     *
     * @param id 资源库主键
     * @return 结果
     */
    public int deleteNexusToolLibraryById(Long id);


    /**
     * 根据分类id查询资源库
     */
    public List<NexusToolLibraryVo> selectNexusToolLibraryVoListByCategoryId(Long id);

    /**
     * 根据导航id查询资源库
     */
    public List<NexusToolLibraryVo> selectNexusToolLibraryVoListByNavId(Long id);

    /**
     * 搜索资源库
     * */
    public List<NexusToolLibraryVo> searchToolLibrary(NexusToolLibraryDTO nexusToolLibraryDTO);
}
